%spanningen bepalen ten gevolge van een busfout
%deze file laat de foutimpedantie aanpassen tot het netwerk oplosbaar is
%bij een bepaalde busfout.
function powerflow = busfout_14_index_Q(start,eind)
%clear all
%tic
einde_interval = (eind+1-start);%# bussen bekijken
einde_interval2 = einde_interval;
teller = 0;
alle_spanningen_busfout = zeros(200*(eind+1-start),14);
alle_q = zeros(200*(eind+1-start),14);
tijd = zeros(200,(eind+1-start));
ok = 0;

for k=start:eind
    while ok ==0
    filename = sprintf('busfout%03d',k);
    initpsat;
    Settings.plottype = 2;
    Settings.freq = 60;
    Settings.absvalues= 'on';
    runpsat(filename,'pf');
    Settings.fixt = 1;
    Settings.tstep = 1;%0.05; %TRAAAAAAAAAAAAAG
    
    Settings.freq = 60;
    Settings.tf = 20;
    
    filename = sprintf('busfout%03d.m',k);
    
    idx_begin = DAE.n+Bus.n+1;
    idx_eind = DAE.n+2*Bus.n;
    idx_begin_q = DAE.n+DAE.m+Bus.n+1;
    idx_eind_q = DAE.n+DAE.m+2*Bus.n;
    
        fid=fopen(filename,'a');
        
        Varname.idx(:,1) = 0;
        teller1 = 1;
        for i = idx_begin:idx_eind
            Varname.idx(teller1,1) = i;
            teller1 = teller1+1;
        end
        for i = idx_begin_q:idx_eind_q
            Varname.idx(teller1,1) = i;
            teller1 = teller1+1;
        end
        count = fprintf(fid, 'Varname.idx = [... \n');
        format = [repmat('%8.4g; ',1,7),'\n'];
        count = fprintf(fid,format,Varname.idx');
%         count = fprintf(fid,'\n');
        count = fprintf(fid,'   ];\n\n');
        fclose(fid);
    
    
    Settings.absvalues= 'on';
    Settings.plottype = 2;
    runpsat('td');
    
   lengte = size(Varout.vars,1);
   
   %spanning per tijdsstap per bus
   alle_spanningen_busfout(1+200*teller:200*teller+lengte,:) = Varout.vars(:,1:Bus.n);
   
   alle_q(1+200*teller:200*teller+lengte,:) = Varout.vars(:,Bus.n+1:2*Bus.n);
   
   %tijd per stap per lijn
   tijd(1:lengte,k) = Varout.t;   
   
   %controlevariabele
   ok = 1;
   test = 0;
   for l = 1:1:14
   if test == 0
   %spanning op bus k bekijken over tijdsinterval van t=20 tot t=140
   if sum(alle_spanningen_busfout(20+200*teller:140+200*teller,l))<=50
       ok = 0;
%        IEEE_14_bus_original;
       filename = sprintf('busfout%03d.m',k);
       fid=fopen(filename,'a');
%impedantie aanpassen om netwerk toch te laten oplossen
       Impedantie = Fault.con(1,7)*2;
       Fault.con(1,7) = Impedantie;
       Fault.con(1,8) = Impedantie;
        
        %print Fault.con
        count = fprintf(fid, 'Fault.con = [... \n');
        count = fprintf(fid,'%4d %4.4g %4.4g %3.4g %2.4g %4.5g %6.5g %6.5g\n',Fault.con);
%         count = fprintf(fid,'\n');
        count = fprintf(fid,'   ];\n\n');
       
        fclose(fid);


   end
   end
   end
    
    
    end
    
    ok = 0;
   closepsat;
   teller = teller+1;
   
   
   
end
save busfout tijd alle_spanningen_busfout einde_interval2 alle_q;